package com.zmm.merchant.dao;

import com.zmm.merchant.model.Merchant;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 * @author 900045
 * @description:
 * @name MerchantDao
 * @date By 2021-07-06 11:21:20
 */
@Mapper
public interface MerchantDao {
	
	/**
	 * 新增商家 -- jdbc
	 * @author: 900045
	 * @date: 2021-07-06 11:33:50
	 * @throws 
	 * @param merchant: 
	 * @return: java.lang.Integer
	 **/
	Integer insertMerchant(Merchant merchant);

	/**
	 * 根据商家ID 查询实体对象 -- jdbc
	 * @author: 900045
	 * @date: 2021-07-06 15:10:46
	 * @throws 
	 * @param merchantId: 
	 * @return: com.zmm.merchant.model.Merchant
	 **/
	Merchant selectOneMerchantByMerchantId(@Param("merchantId") Integer merchantId);
	
	/**
	 * 更新商家信息 -- jdbc
	 * @author: 900045
	 * @date: 2021-07-06 15:22:18
	 * @throws 
	 * @param merchant: 
	 * @return: java.lang.Integer
	 **/
	Integer updateMerchant(Merchant merchant);
	
	/**
	 * 更新商家的审核状态
	 * @author: 900045
	 * @date: 2021-07-06 15:48:08
	 * @throws 
	 * @param updateStatus: 即将更新的状态
	 * @param updateTime: 更新时间
	 * @param merchantId: 更新的商家ID
	 * @param oldStatus:  原本的状态
	 * @return: java.lang.Integer
	 **/
	Integer updateMerchantStatus(@Param("updateStatus") Integer updateStatus, @Param("updateTime") Long updateTime,
								 @Param("merchantId") Integer merchantId, @Param("oldStatus") Integer oldStatus);
	
	/**
	 * 更新商家的上下架的状态
	 * @author: 900045
	 * @date: 2021-07-07 10:10:58
	 * @throws 
	 * @param soldOut: 
	 * @param updateTime: 更新时间   
	 * @param merchantId: 
	 * @return: java.lang.Integer
	 **/
	Integer updateMerchantSoldOut(@Param("soldOut") Integer soldOut, @Param("updateTime") Long updateTime,
								  @Param("merchantId") Integer merchantId);
}
